﻿namespace Azalea.ORMap
{
    public interface IDbInfo
    {
        IDbInfo DbType(DatabaseTypes dbType);
        IDbInfo DataSource(string dataSource);
        IDbInfo InitialCatalog(string initialCatalog);
        IDbInfo UserId(string userId);
        IDbInfo Password(string password);
        IDbInfo IntegragedSecurity(string integragedSecurity);
        IDbInfo OtherNameValue(string name, string value);

        IDbInfo StandardSqlServer(string dataSource, string initialCatalog, string userId, string password);
        IDbInfo StandardOracle(string dataSource, string userId, string password);
        IDbInfo StandardOracleWithoutDSN(string host, int port, string serviceName, string userId, string password);
        IDbInfo StandardOdbcExcel(string file);
        IDbInfo StandardOdbcAccess(string file);
        IDbInfo StandardSqlite(string file);

        DatabaseTypes GetDbType();
        string GetConnectionString();
    }
}